# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time      :2022/7/21 0021 0:42
# @Author    :jiaxuesong



'''
读取excle文件中内容
创建读取类
    定义初始化方法
        获取文件路径
        打开excle
        获取指定sheet页
        获取最大行
        获取最大列
        创建一个空列表
        获取第一个值作为字典key，

    定义外部读取方法
        循环读取每一行作为一条测试用例
        获取没一行数据
        将获取的数据组装成一个字典
        将组装好的字典添加到列表中
        返回列表
'''
import os
import xlrd


# 创建读取类
class ReadExcle(object):
    # 定义初始化方法
    def __init__(self):
        # 获取文件路径
        self.file_path = os.path.dirname((os.path.dirname(__file__))) + r'/testData/data.xls'
        # 打开excle
        self.open_work = xlrd.open_workbook(self.file_path)
        # 获取指定sheet页
        self.sheet = self.open_work.sheet_by_index(0)
        # 获取最大行
        self.nrow = self.sheet.nrows
        print('nrow:', self.nrow)
        # 获取最大列
        self.ncol = self.sheet.ncols
        # 创建一个空列表
        self.file_list = []
        # 获取第一个值作为字典key，
        self.first_now = self.sheet.row_values(0)
#
    # 定义外部读取方法
    def read(self):
        # 循环读取每一行作为一条测试用例
        for i in range(1, self.nrow):
            # 获取没一行数据
            row_value = self.sheet.row_values(i)
            print(row_value)
            # 将获取的数据组装成一个字典
            dict_01 = {self.first_now[j]:row_value[j] for j in range(self.ncol)}
            # 将组装好的字典添加到列表中
            self.file_list.append(dict_01)
            # 返回列表
        return self.file_list


if __name__ == '__main__':
    re = ReadExcle()
    print(re.read())